#ifndef DEFINE_HEAD_
#define DEFINE_HEAD_

#include <stdlib.h>
#include <stdio.h>
#include <malloc.h>

#include <iostream>
#include <exception>
#include <cassert>
#include <vector>
#include <string>
#include <set>
#include <map>
#include <algorithm>
#include <functional>
#include <hash_map>
#include <bitset>
#include <boost/bind.hpp>
#include <boost/function.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/array.hpp>
#include <boost/noncopyable.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/enable_shared_from_this.hpp>
#include <boost/scoped_ptr.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/thread/thread.hpp>

#include "Glog.h"

#ifdef WIN32
	typedef __int64            int64;
	typedef __int32            int32;
	typedef __int16            int16;
	typedef __int8             int8;
	typedef unsigned __int64   uint64;
	typedef unsigned __int32   uint32;
	typedef unsigned __int16   uint16;
	typedef unsigned __int8    uint8;
#else
	typedef __int64_t   int64;
	typedef __int32_t   int32;
	typedef __int16_t   int16;
	typedef __int8_t    int8;
	typedef __uint64_t  uint64;
	typedef __uint32_t  uint32;
	typedef __uint16_t  uint16;
	typedef __uint8_t   uint8;
	typedef uint16      WORD;
	typedef uint32      DWORD;
#endif


#define ASSERT assert


#endif